/**
 * 
 */
package model;

import java.sql.Connection;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Eve
 * 
 */
public class ItemVendaDAO {

	ProdutoDAO produtoDAO = new ProdutoDAO();

	public boolean registrarItensVenda(Venda venda) {
		boolean retorno = false;
		List<ItemVenda> lstItensVenda = venda.getLstItensVenda();
		StringBuilder sb = new StringBuilder();
		List<Produto> lstProdutos = new ArrayList<Produto>();
		Produto produto;
		try {
			Connection conexao = ConexaoBD.getInstance().conectar();
			Statement st = conexao.createStatement();

			for (ItemVenda itemVenda : lstItensVenda) {
				sb = new StringBuilder();
				sb
						.append("INSERT INTO ITEMVENDA_01083333 (IDPRODUTO,IDVENDA,QTDE,SUBTOTAL) ");
				sb.append("VALUES (" + itemVenda.getProduto().getIdProduto()
						+ ", ");
				sb.append(venda.getIdVenda() + ", ");
				sb.append(itemVenda.getQtde() + ", ");
				sb.append(itemVenda.getSubTotal() + " )");
				produto = itemVenda.getProduto();
				produto.setQtdeDisponivel(produto.getQtdeDisponivel()
						- itemVenda.getQtde());

				lstProdutos.add(produto);
				retorno = !st.execute(sb.toString());
			}

			if (retorno) {
				retorno = produtoDAO.atualizarQtdeProdutos(lstProdutos);
			} else {
				System.err.print("Erro registrando item de venda");
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return retorno;
	}

}
